Skip to main content

CNC Beispiel 07: Ausdrücke und Unterprogramme verwenden

Sehen Sie hierzu das Beispielprojekt CNC07_Subprogram.project im Installationsverzeichnis von CODESYS unter ..\CODESYS SoftMotion\Examples.

Dieses Beispiel zeigt den Aufruf eines Unterprogramms aus einer CNC-Datei sowie die Verwendung von Ausdrücken in CNC-Fahrbefehlen.

In dem Programm CNC werden zunächst, wie bei den anderen Beispielen auch, die Antriebe eingeschaltet. Das Programm CNC_PreparePath verwendet den Funktionsbaustein SMC_ReadNCFile2 zum Einlesen der CNC-Datei. SMC_ReadNCFile2 ersetzt den Baustein SMC_ReadNCFile und erweitert ihn um die Unterstützung für Unterprogramme und Ausdrücke.

Mit dem Funktionsbaustein SMC_NCInterpreter wird das CNC-Programm CNC2Main.cnc konvertiert. SMC_NCInterpreter ersetzt den Baustein SMC_NCDecoder und erweitert ihn um die Unterstützung für Unterprogramme und Ausdrücke.

Das Projekt enthält zwei CNC-Programme: Das Hauptprogramm CNC2Main.cnc und das Unterprogramm CNC2.cnc. Das Hauptprogramm übergibt den Wert 25 im Parameter #RADIUS an das Unterprogramm. Im Unterprogramm wird der Ausdruck X#RADIUS*2 für die Berechnung der Kreisbahn verwendet.

Hauptprogramm

N0 G01 X$g_x$ Y0 F50 E30 E-30
N10 G01 X0 Y$g_y$
N20 CNC2{25}
N30 G01 X0 Y-200

Unterprogramm

SUBPROGRAM CNC2{#RADIUS : LREAL}
N010 G91
N020 G02 X#RADIUS*2 Y0 R#RADIUS Z2.5 F100 E-100 E100
N030 G02 X-#RADIUS*2 Y0 R#RADIUS Z7.5
END_SUBPROGRAM